package com.array;

import java.util.Arrays;

/**
 * @功能：数组的扩展array类
 * @版本： V1
 * @版权： 信息技术有限公司（http://www.mychery.com/）
 * @作者： 磐石战队开发组  00355760
 * @日期： 2024/8/5 13:20
 */
public class demo05 {

    /**
     * 数组的工具类java.util.Arrays
     * 由于数组对象本身并没有什么方法可以供我们调用，但API中提供了一个工具类Arrays供我们使用，从而可以对数据对象进行一些基本的操作
     * 查看JDK帮助文档
     * Arrays类中 的方法都是static修饰的静态方法，是使用的时候我们可以直接使用类名进行调用，而“不用”使用对象来调用（注意L是“不用”不是“不能”）
     * 具有一下常用的功能：
     * 打印数组元素：Arrays.toString()
     * 给数组赋值：通过fill方法
     * 给数组排序：通过sort方法，按照升序
     * 比较数组：通过equal方法比较数组中元素值是否相等
     * 查找数组元素：通过binarySearch方法能对排序好的数组进行二分查找操作
     */

    public static void main(String[] args) {
        int[] a = {1,24,4,6,72,12,36,845,8,383,2};
        //打印数组元素 Arrays.toString
        System.out.println(Arrays.toString(a));//调用的已有的方法， 这类方法也可以自己写，如下printArray，也能实现同样的效果
        System.out.println("------------------------------------------");
        printArray(a);
        //有序打印数组元素 Arrays.sort
        System.out.println("\n------------------------------------------");
        Arrays.sort(a);//数组进行排序：升序
        System.out.println(Arrays.toString(a));
        //赋值操作 fill
        System.out.println("------------------------------------------");
        Arrays.fill(a,0);//数组填充
        System.out.println(Arrays.toString(a));
        //赋值操作 fill
        System.out.println("------------------------------------------");
        Arrays.fill(a,2,4,7);//2-4之间数组填充为7，左闭右开
        System.out.println(Arrays.toString(a));
    }
    public static void printArray(int[] a){
        for (int i = 0; i < a.length; i++) {
            if (i == 0){
                System.out.print("[");
            }
            if (i == a.length-1){
                System.out.print(a[i]+"]");
            }else {
                System.out.print(a[i]+", ");
            }
        }
    }
}
